High-quality and high-compression video content has been distributed in recent years. Further, a real-time performance is often desired for a latest video content distribution in order to accommodate, for example, live broadcasts.
One of the factors that decreases the real-time performance is a memory access to be made to an external memory in order to obtain an image. The memory access to an external memory has a high throughput, so an amount of access is often restricted in an architecture in which a real-time performance is desired.
With respect to a video signal, an image compressing device used for a video content distribution uses an intra-prediction that performs a prediction in a spatial direction (a prediction in a picture) and an inter-prediction that performs a prediction in a time direction (a prediction between pictures). Then, the image compressing device selects a prediction mode whose encoding error is smallest, and generates an encoded stream including the selected prediction mode.
The intra-prediction is a prediction in a picture, so an encoding error is more likely to become large compared to the case of the inter-prediction. On the other hand, the inter-prediction is a prediction between pictures, so a reference image to be predicted is read from a frame memory that is an external memory, with the result that a throughput becomes extremely high compared to the case of the intra-prediction.
A dynamic random access memory (DRAM) is often used as a frame memory that stores a reference image. The DRAM has a high capacity, but it takes a long time to perform a memory access. If the entirety of a reference image for one picture is searched in a motion search in order to perform an inter-prediction, an amount of access to a frame memory becomes huge, which results in an extremely high throughput.
Thus, a portion of a search range of a reference image may be stored in advance as a prefetched area in an internal memory called a prefetch memory (see, for example, Patent Documents 1 to 4). In this case, an amount of access to a frame memory is reduced by searching the prefetched area stored in the prefetch memory. A static random access memory (SRAM) is often used as a prefetch memory. The SRAM has a low capacity even though it enables a high-speed memory access.
Patent Document 1: Japanese Laid-open Patent Publication No. 2013-126083
Patent Document 2: Japanese Laid-open Patent Publication No. 2013-172350
Patent Document 3: Japanese Laid-open Patent Publication No. 2008-141288
Patent Document 4: Japanese Laid-open Patent Publication No. 11-262015